Another round of fixes for easygps, gpsutil, googledir, and a few others.
authorrobertlipe@gmail.com <robertlipe@gmail.com@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 1 Jan 2014 00:40:14 +0000 (00:40 +0000)
committerrobertlipe@gmail.com <robertlipe@gmail.com@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 1 Jan 2014 00:40:14 +0000 (00:40 +0000)
Last one for a few hours.

git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@4690 f51c46e8-681c-474f-0cfe-069cfd0219fb

gpsbabel/easygps.cc
gpsbabel/garmin_xt.cc
gpsbabel/gbfile.cc
gpsbabel/gbfile.h
gpsbabel/googledir.cc
gpsbabel/gpsutil.cc

index 8270e22e5416b613c85447fd435fe11d4ab8534c..c446aa9ae26e3cc8db87852134655620415a65f9 100644 (file)
@@ -99,19 +99,13 @@ data_read(void)
         wpt_tmp->notes = gbfgetpstr(file_in);
         break;
       case 6: {
-        char* ult = gbfgetpstr(file_in);
+        QString ult = gbfgetpstr(file_in);
         link.url_link_text_ = ult;
-        if (ult) {
-          xfree(ult);
-        }
       }
       break;
       case 7: {
-        char* id = gbfgetpstr(file_in);
+        QString id = gbfgetpstr(file_in);
         wpt_tmp->icon_descr = id;
-        if (id) {
-          xfree(id);
-        }
       }
       break;
       case 8:  /* NULL Terminated (vs. pascal) descr */
index 3d46e83212f8522a98e55f1fd68bcb7bac2d9a56..f1ee58a757536e79e00056c4604d5236aaa1cc45 100644 (file)
@@ -355,7 +355,7 @@ format_garmin_xt_proc_atrk(void)
     track = route_head_alloc();
     // header option was not set to ignore
     if (method !=1) {
-      track->rte_name = xstrdup("ATRK XT");
+      track->rte_name = "ATRK XT";
     }
     track_add_head(track);
   }
index 7244e7390d46aedab6193c4630ef517632d3e343..af06e9761be1c3d0f732896481060968a6863791 100644 (file)
@@ -1013,7 +1013,7 @@ gbfgetcstr(gbfile* file)
  *             The result is a temporary allocated entity: use it or free it!
  */
 
-char*
+QString
 gbfgetpstr(gbfile* file)
 {
   int len;
@@ -1026,7 +1026,9 @@ gbfgetpstr(gbfile* file)
   }
   result[len] = '\0';
 
-  return result;
+  QString r(result);
+  xfree(result);
+  return r;
 }
 
 static char*
index 217de1ef0f52016058cbfc22a6c8b19dba90fce3..b23f1e923e0f91fef03a04e8f16b17cdd9100721 100644 (file)
@@ -123,7 +123,7 @@ int16_t gbfgetint16(gbfile* file);
 double gbfgetdbl(gbfile* file);                        // read a double value
 float gbfgetflt(gbfile* file);                 // read a float value
 char* gbfgetstr(gbfile* file);                 // read until any type of line-breaks or EOF
-char* gbfgetpstr(gbfile* file);                        // read a pascal string
+QString gbfgetpstr(gbfile* file);                      // read a pascal string
 char* gbfgetcstr(gbfile* file);                        // read a null terminated string
 
 int gbfputint16(const int16_t i, gbfile* file);
index 8f10e2e2a7634f7376b19f9c6b0e3f544bf5355f..f9dc44c32f7853faa5e82e47a44c8852d016ed31 100644 (file)
@@ -102,8 +102,8 @@ goog_poly_e(xg_string args, const QXmlStreamAttributes* unused)
 #else
   if (strcmp(args, "overview_polyline") == 0) {
 #endif
-    routehead->rte_name = (char*) xstrdup("overview");
-    routehead->rte_desc = (char*) xstrdup("Overview");
+    routehead->rte_name = "overview";
+    routehead->rte_desc = "Overview";
   } else {
     goog_step++;
     xasprintf(&routehead->rte_name, "step%03d", goog_step);
@@ -113,7 +113,9 @@ goog_poly_e(xg_string args, const QXmlStreamAttributes* unused)
       utf_string utf;
       utf.is_html = 1;
       utf.utfstring = /*QString::fromUtf8*/(instructions);
-      routehead->rte_desc = strip_html(&utf);
+      char *s = strip_html(&utf);
+      routehead->rte_desc = s;
+      xfree(s);
       instructions = QString();
     }
   }
index 9deedfde7d7bf0fb0cc19de2534ff15deb163d21..ea60883b014f10b2dde0d7e2cb8f8edb1e94e3b7 100644 (file)
@@ -113,7 +113,7 @@ data_read(void)
     wpt_tmp = waypt_new();
     wpt_tmp->altitude = alt;
     wpt_tmp->shortname = sn;
-    wpt_tmp->description = xstrdup(desc);
+    wpt_tmp->description = desc;
     wpt_tmp->SetCreationTime(now);
 
     if (latdir == 'S') {